#ifndef UTILS_HPP_INCLUDED
#define UTILS_HPP_INCLUDED

#include <libtcod/libtcod.hpp>

class Vector2d
{
public:
	Vector2d();
	Vector2d(int x, int y);

	int getDistanceFrom(Vector2d other);

	bool operator == (Vector2d other);
	bool operator != (Vector2d other);
	Vector2d& operator += (Vector2d other);
	Vector2d operator + (Vector2d other);
	
	int X, Y;
};

// for std::map
class vectorComp { public: bool operator()(const Vector2d& A, const Vector2d& B) const { return (A.X < B.X && A.Y < B.Y); } };

class Utils
{
public:
    static int rollDice(TCOD_dice_t dice);
	static unsigned int random0ToN(unsigned int size);
};

class Item;

#endif
